﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Epsilon.Expr
{
    public class ListCaseExpr : Expression
    {
        public Expression List { get; private set; }
        public Expression NilCase { get; private set; }
        public Expression ConsCase { get; private set; }
        public IPattern HeadPattern { get; private set; }
        public VarExpr TailVar { get; private set; }

        public ListCaseExpr(Expression list, Expression nil, Expression cons,
            IPattern head, VarExpr tail, int l, int c)
            : base(l, c)
        {
            List = list;
            NilCase = nil;
            ConsCase = cons;
            HeadPattern = head;
            TailVar = tail;
        }
    }
}
